import 'dart:math';

import 'package:equatable/equatable.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:mobile_app.core/core/presentation/helpers/screen_util_mixin.dart';
import 'package:mobile_app.core/core/presentation/helpers/show_dialogs.dart';
import 'package:mobile_app.core/core/presentation/theme/theme.dart';
import 'package:mobile_app.core/core/presentation/utils/screen_util.dart';
import 'package:mobile_app.core/core/presentation/widget_config.dart';
import 'package:mobile_app.core/core/presentation/widgets/app_icon_button.dart';
import 'package:mobile_app.core/core/presentation/widgets/navigation_bar_title.dart';
import 'package:mobile_app.core/core/presentation/widgets/overlay_button.dart';
import 'package:mobile_app.core/core/presentation/widgets/page_tile_horizontal_padding.dart';
import 'package:mobile_app.core/core/presentation/widgets/stateful_wloc.dart';
import 'package:mobile_app.core/core/presentation/widgets/tiles/base_text_tile.dart';
import 'package:mobile_app.core/core/presentation/widgets/tiles/default_size_tile.dart';
import 'package:mobile_app.core/core/presentation/widgets/tiles/pressable_tile.dart';
import 'package:mobile_app.core/core/presentation/widgets/tiles/tile_gap.dart';
import 'package:mobile_app.core/core/presentation/widgets/tiles/tile_group.dart';
import 'package:mobile_app.core/core/presentation/widgets/tiles/tile_navigation_indicator.dart';
import 'package:mobile_app.core/core/presentation/widgets/tiles/unpressable_text_tile.dart';
import 'package:mobile_app.core/core/presentation/widgets/wloc_builder.dart';
import 'package:mobile_app.core/injection_container.dart' as core_di;
import 'package:mobile_app.home.core/core/presentation/helpers/auto_scalable_text_mixin.dart';
import 'package:mobile_app.home.core/core/presentation/theme/home_core_theme.dart';
import 'package:mobile_app.home.learning/learning_page/application/bloc/bloc.dart' as bloc;
import 'package:mobile_app.home.learning/learning_page/domain/entities/statistics_period.dart';
import 'package:mobile_app.home.learning/learning_page/injection_container.dart'
    as learning_page_di;
import 'package:mobile_app.home.learning/learning_page/presentation/localization/translation.dart';
import 'package:mobile_app.home.learning/learning_page/presentation/theme/theme.dart';
import 'package:mobile_app.home.learning/learning_settings_page/presentation/page/page.dart';
import 'package:mobile_app.core/learning_navigator/application/models/learning_page_model.dart';
import 'package:mobile_app.home.learning.core/user_progress_block/presentation/widget/widget.dart';

part 'models/premium_feature_model.dart';

part 'view.dart';

part 'wloc.dart';

part 'wloc_state.dart';

part 'wloc_state_factory.dart';

class LearningPage extends StatefulWidget {
  const LearningPage({
    required this.pageModel,
    super.key,
  });

  final LearningPageModel pageModel;

  @override
  State<LearningPage> createState() => _LearningPageWloc();
}
